﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StyleMVVM.ViewModel
{
	/// <summary>
	/// This interface should be implemented by ViewModels that are bound to Window Controls
	/// </summary>
	public interface IWindowViewModel : INavigationParameterAwareViewModel
	{
		/// <summary>
		/// This method is called after the ViewModel NavigationParameter is set but before Show is called
		/// Allowing the ViewModel a chance to do any changes it needs for 
		/// </summary>
		void Opened();

		void Close();

		void Closing(CancelEventArgs cancelEvent);

		void Closed();
	}
}